﻿////ПЕРЕВІРКА НА ПОЛІНДРОМ
//================================
//
//Write by Artur Ataev (STEP-ODESA-11-01-2014)
//mail: art.post.ua@gmail.com

using System;

namespace string_01
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Clear();
			
			string [] strArray = {	"Аргентина манит негра.",
									"Лёша на полке клопа нашёл.",
									"Нажал кабан на баклажан.",
									"Я так нежен, Катя.",
									"Он дебил и жили бедно.",
									"Что к супу? Скотч?",
									"О, накакано!",
									"Юра, хватит! - А в харю?"
								};
		
		int counter = 0;
		foreach (string item in strArray)
		{
			Console.WriteLine(++counter + ": " + item.PadRight(30,'.') + " - " + Polindrom(item));
		}
		
		Console.WriteLine("\n\nВведіть вираз для перевірки на поліндром:");
		string tmp = Console.ReadLine();
		Console.WriteLine("::" + tmp.PadRight(40, '.') + Polindrom(tmp));
		
		Console.ReadKey();
		}
	
	static string Polindrom(string str)
	{
		str = str.ToUpper();
		int i= 0;
		int j= str.Length-1;
		
		while(i <= j)
		{
			for (; i< str.Length & !(char.IsLetter(str[i])); ++i);
		
			for (; j>= 0 & !(char.IsLetter(str[j])); --j);
		
			if (str[i] != str[j]) return "НЕ ЯВЛЯЄТЬСЯ ПОЛІНДРОМОМ";
			++i;
			--j;
		}
		return "ПОЛІНДРОМ";
	}
	
	}
}

            
            
            
            